Вариант 2, 11 июня 2006. Ripped by Overrider

1. В стеке записано 125 символов (по 2 в машинном слове). Выписать фрагмент программы
 на асмах, в котором в регистр ax записывается количество больших латинских букв 
('A'..'Z') в тексте. Можно менять любой регистр, кроме sp.

2. Дать определение сегментной организации памяти. Какой недостаток имеет СОП?

3. Написать определения для УМ-3:
-машинное слово
-адрес ячейки
-регистр команд

4. MOV ch,140
   SUB ch,-50
ch=   cf=   of=   sf=

5. Привести не более 8 команд на асме, записывающих в слово с абсолютным адресом 
3B564h остаток от деления содержимого этого слова на 11.

6. Описать близкую процедурус именем bitse, которая получает в качестве параметра 
значение переменной A и дальний адрес переменной B. (все WORDы) Процедура присваивает
параметру B значение 1, если битовое прецтавление параметра A начинается и 
заканчивается битом 1. Иначе B:=2. Процедура ДОЛЖНА выполнять ССС. 
Привести пример вызова процедуры.

7. Привести макроопределение с заголовком mac2 MACRO a
Если параметр a непустой и является именем переменной-слова, то макрос должен записать
 её в ax, bx, cx, dx. Иначе макроподстоновка ну просто обязана быть пустой.

8. Вычеркнуть ошибочные операторы:
AND [bx],3   MOV ds,[bp]   MOV [sp+2],ax   MUL ax,7   XCHG sp,dx    JMP cx

9. Пусть в начале кодового сегмента стоит директива
ASSUME cs:code, ds:d1, es:e1, ss:s1
Пусть переменная d описана в сегменте d1, e - в e1, s - в s1. (все - слова)
Для каждой из приведённых команд записать, какой префикс сегмента вставит в машинный 
код компилятор для этой команды (написать НЕТ, если не вставит):
MOV bx,e[bp]
MOV bx,s[bx]
MOV bx,d[bp][di]
MOV bx,d[si]
MOV bx,[bp][si]

Удачи на экзамене! ;)